const Stack = require('../01.栈的封装/stack.cjs')
/**
 * 
 * @param {number} input 数字
 * @param {number} mode 进制
 */
module.exports = function convert(input, mode) {
    const stack = new Stack()

    // 基本字符集
    const baseCharSet = '0123456789ABCDEF'
    
    // 辗转相除，得到输入对进制的余数，并进栈
    while (input) {
        stack.push(baseCharSet[input % mode])
        input = Math.floor(input / mode)
    }

    let output = ''

    // 倒序出栈拼接成进制转换后的数字
    while (!stack.isEmplty()) {
        output += stack.pop()
    }

    return output
}